Skip to content

Conversation

Shreyas-Ekanathan
Copy link
Contributor

builds on the previous PR to implement a full butterfly factorization method

@ChrisRackauckas
Copy link
Member

@Shreyas-Ekanathan can you push your version?

@@ -1,81 +0,0 @@
using BenchmarkTools, Random

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file shouldn't be deleated.

🦋2!(view(Bu2, 1 : Mh, 1 : Nh), U₁u, U₁l)
🦋2!(view(Bu2, Mh + 1: M, Nh + 1: N), U₂u, U₂l)

#Bu1 = spzeros(M, N)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove commented out lines.

Project.toml Outdated
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
Polyester = "f517fe37-dbe3-4b94-8317-1923a5111588"
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the sparsearrays dep necessary?

using LinearAlgebra: Diagonal, I
using LoopVectorization
using RecursiveFactorization
using SparseArrays, SparseBandedMatrices

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove using SparseArrays

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry about that, fixed now

@oscardssmith
Copy link

@ChrisRackauckas I think this is ready to merge. Test failures are pre-existing (someone probably should look into them though)

@ChrisRackauckas
Copy link
Member

The infos are just negative what they should be?

@oscardssmith
Copy link

yes, but it's not clear to me whether that's true for all of them or why they would have switched.

@ChrisRackauckas
Copy link
Member

Rebase onto latest master

* Update README.md

* Fix negative info values for NoPivot() on Julia 1.11+

Julia 1.11 changed the convention for LU factorization info field when using NoPivot().
Now, when a zero diagonal is encountered during unpivoted LU factorization, the info
field should be negative to distinguish it from pivoted factorization failures.

This commit updates RecursiveFactorization to match Julia's convention:
- In _generic_lufact!, return negative info when Pivot=false and zero diagonal found
- In reckernel!, handle negative info values correctly when adjusting offsets

Fixes JuliaLinearAlgebra#95

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* Update ci.yml

* Update ci.yml

* Add VERSION check for Julia 1.11+ negative info convention

Only use negative info values for NoPivot() on Julia 1.11 and later.
Earlier versions should continue using positive info values.

- Added NOPIVOT_NEGATIVE_INFO constant that checks Julia version
- Use this constant to conditionally apply negative info values
- Ensures backward compatibility with Julia < 1.11

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* Update README.md

---------

Co-authored-by: ChrisRackauckas <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Christopher Rackauckas <[email protected]>
@ChrisRackauckas ChrisRackauckas merged commit ed51f4e into JuliaLinearAlgebra:master Sep 27, 2025
19 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants